001 /**
002 * Created by IntelliJ IDEA.
003 * User: Wei Wang
004 * Date: Apr 2, 2003
005 * Time: 7:54:26 PM
006 */
007
008 package EVolve.util.settings;
009
010 import EVolve.Scene;
011 import javax.swing.*;
012 import java.io.*;
013
014 public abstract class Setting {
015 protected String iniFilename;
016 protected String tags[];
017 protected JTextField contents[];
018 protected JDialog dialog;
019
020 protected String getFilenameWithPath(String name) {
021 boolean isRunningUnderWindows = System.getProperty("os.name").startsWith("Windows");
022 String userHome = System.getProperty("user.home");
023 String configFile = null;
024 if (userHome == null || userHome.trim().equals("")) {
025 // Fall back to current directory if undefined
026 userHome = ".";
027 }
028
029 if (!userHome.endsWith(String.valueOf(Character.toString(File.separatorChar)))) {
030 userHome += File.separatorChar;
031 }
032
033 if (isRunningUnderWindows) {
034 configFile = name + ".ini";
035 } else {
036 configFile = "." + name;
037 }
038 return userHome + configFile;
039 }
040
041 protected void save() {
042 try {
043 FileWriter writer = new FileWriter(iniFilename);
044 for (int i=0; i<tags.length; i++) {
045 writer.write(tags[i]+"\n");
046 writer.write(contents[i].getText()+"\n");
047
048 }
049 writer.flush();
050 writer.close();
051 } catch (IOException e) {
052 Scene.showErrorMessage("Unable to update file "+iniFilename);
053 }
054 }
055 }